using UnityEngine;
using System.Collections;

public abstract class State<T> where T : StateBehaviour<T>
{
    public abstract void OnEnter(T behaviour);
    public abstract void OnUpdate(T behaviour);
    public abstract void OnExit(T behaviour);
    public abstract void OnAction(string name, T behaviour, object value = null);
}
